package apis

import (
	"gitee.com/sansaniot/ssiot-core/httpmvc/api"
	"github.com/gin-gonic/gin"
	"github.com/gin-gonic/gin/binding"

	"ssdevice/internal/device/models/command"
	"ssdevice/internal/device/service"
)

type DevFunc struct {
	api.Api
}

// 编辑
func (e DevFunc) EditFunc(c *gin.Context) {
	// 请求参数
	req := command.FuncEditReq{}
	// 业务service
	s := &service.DevFunc{}
	// 上下文
	err := e.MakeContext(c).
		MakeOrm().
		Bind(&req, binding.JSON).
		MakeService(&s.Service).
		Errors
	if err != nil {
		e.Logger.Error(err)
		e.Fail(0, err.Error())
		return
	}
	// service注入实体
	s.SetAllModel()
	// 用户信息
	req.LoadUser(c)
	// 执行
	if err = s.ModDevFunc(&req); err != nil {
		e.Logger.Error(err)
		e.Fail(0, err.Error())
		return
	}
	// 返回
	e.Data(nil)
}
